package com.smile.service.entity.events;

import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import java.util.UUID;


public class FlyToPointProgressData {
    @JsonProperty("fly_to_id")
    private UUID flyToId;

    @JsonProperty("planned_path_points")
    private List<PlannedPathPoint> plannedPathPoints;

    @JsonProperty("remaining_distance")
    private int remainingDistance;

    @JsonProperty("remaining_time")
    private int remainingTime;

    @JsonProperty("result")
    private int result;

    @JsonProperty("status")
    private String status;

    @JsonProperty("way_point_index")
    private int wayPointIndex;

    // Getter/Setter
    public UUID getFlyToId() { return flyToId; }
    public void setFlyToId(UUID flyToId) { this.flyToId = flyToId; }

    public List<PlannedPathPoint> getPlannedPathPoints() { return plannedPathPoints; }
    public void setPlannedPathPoints(List<PlannedPathPoint> plannedPathPoints) {
        this.plannedPathPoints = plannedPathPoints;
    }

    public int getRemainingDistance() { return remainingDistance; }
    public void setRemainingDistance(int remainingDistance) { this.remainingDistance = remainingDistance; }

    public int getRemainingTime() { return remainingTime; }
    public void setRemainingTime(int remainingTime) { this.remainingTime = remainingTime; }

    public int getResult() { return result; }
    public void setResult(int result) { this.result = result; }

    public String getStatus() { return status; }
    public void setStatus(String status) { this.status = status; }

    public int getWayPointIndex() { return wayPointIndex; }
    public void setWayPointIndex(int wayPointIndex) { this.wayPointIndex = wayPointIndex; }

    // ------------------- 内部路径点类 -------------------
    public static class PlannedPathPoint {
        @JsonProperty("height")
        private double height;

        @JsonProperty("latitude")
        private double latitude;

        @JsonProperty("longitude")
        private double longitude;

        public double getHeight() { return height; }
        public void setHeight(double height) { this.height = height; }

        public double getLatitude() { return latitude; }
        public void setLatitude(double latitude) { this.latitude = latitude; }

        public double getLongitude() { return longitude; }
        public void setLongitude(double longitude) { this.longitude = longitude; }
    }
}
